﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BLL;
using Public;

namespace QLNhanKhau
{
    public partial class UCXoaThuongTru : UserControl
    {
        public UCXoaThuongTru()
        {
            InitializeComponent();
        }
        int _MaNK;
        int _MaSHK;
        private void btnXoaNK_Click(object sender, EventArgs e)
        {
            if ((NhanKhauBLL.LoadNhanKhauByMaNK(_MaNK).MaQH) == 1)
            {
                MessageBox.Show("Không thể xóa chủ hộ", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                return;
            }
            frmLyDo fmld = new frmLyDo();
            fmld.ShowDialog();
            if (fmld.IsDisposed == false && fmld._success != 0)
            {
                NhanKhauBLL.UpdateNgayXoa(_MaNK, DateTime.Now, fmld._success);
                //MessageBox.Show("ddddd");
            }
            //DialogResult resuft = MessageBox.Show("Xóa nhân khẩu này!", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
            //switch (resuft)
            //{
            //    case DialogResult.OK:
            //        //NhanKhauBLL.UpdateKhaiTu(_MaKT,null);
            //        ChuyenKhauBLL.DeleteChuyenKhauNK(_MaNK);
            //        NhanKhauBLL.DeleteNhanKhau(_MaNK);
            //        KhaiSinhBLL.DeleteKhaiSinh(_MaNK);
            //        KhaiTuBLL.DeleteKhaiTu(_MaNK);
            //        btnTim_Click(sender, e);
            //        if (dgvNhanKhau == null)
            //        {
            //            SoHoKhauBLL.DeleteSHK(int.Parse(txtSoSHK.Text));
            //        }
            //        MessageBox.Show("Xóa thành công!", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
            //        break;
            //    case DialogResult.Cancel:
            //        break;
            //}
        }

        private void UCXoaThuongTru_Load(object sender, EventArgs e)
        {
            cmbDanToc.DataSource = DanTocBLL.LoadDanToc();
            cmbDanToc.DisplayMember = "TenDanToc";
            cmbDanToc.ValueMember = "MaDT";
            //load quoc tich
            cmbQuocTich.DataSource = QuocTichBLL.LoadQuocTich();
            cmbQuocTich.DisplayMember = "TenQuocTich";
            cmbQuocTich.ValueMember = "MaQT";
            //load tôn giáo 
            cmbTonGiao.DataSource = TonGiaoBLL.LoadTonGiao();
            cmbTonGiao.DisplayMember = "TenTonGiao";
            cmbTonGiao.ValueMember = "MaTG";
            //load trình độ
            cmbTrinhDo.DataSource = TrinhDoBLL.LoadTrinhDo();
            cmbTrinhDo.DisplayMember = "TenTrinhDo";
            cmbTrinhDo.ValueMember = "MaTD";
            //load người cấp

            cmbQuanHe.DataSource = QuanHeBLL.LoadToanBoQuanHe();
            cmbQuanHe.DisplayMember = "TenQuanHe";
            cmbQuanHe.ValueMember = "MaQH";
            cmbQuanHe.Enabled = false;

            cmbNoiSinh.DataSource = TinhBLL.LoadTinh();
            cmbNoiSinh.DisplayMember = "TenTinh";
            cmbNoiSinh.ValueMember = "MaT";
        }

        private void btnTim_Click(object sender, EventArgs e)
        {
            if (txtSoSHK.Text == "")
            {
                MessageBox.Show("Nhập số sổ hộ khẩu cần tìm", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtSoSHK.Focus();
                return;

            }
            int SoSHK = int.Parse(txtSoSHK.Text);
            SoHoKhauPublic shk = SoHoKhauBLL.LoadSoHoKhauBySoSHK(SoSHK);
            if (shk == null)
            {

                dgvNhanKhau.DataSource = null;
                MessageBox.Show("Không tìm thấy!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtSoSHK.ResetText();
                txtSoSHK.Focus();
                return;
            }
            else
            {
                List<NhanKhauPublic> list_nk = NhanKhauBLL.LoadNhanKhauByMaSHK(shk.MaSHK);
                dgvNhanKhau.DataSource = list_nk;
                _MaSHK = shk.MaSHK;
                //dgvNhanKhau.Columns[0].HeaderText = "Mã nhân khẩu";
                dgvNhanKhau.Columns[1].HeaderText = "Họ và tên";
                //dgvNhanKhau.Columns[3].HeaderText = "Tên gọi khác";
                dgvNhanKhau.Columns[4].HeaderText = "CMND";
                dgvNhanKhau.Columns[5].HeaderText = "Ngày sinh";
                //dgvNhanKhau.Columns[6].HeaderText = "Nơi sinh";
                dgvNhanKhau.Columns[7].HeaderText = "Giới tính";
                dgvNhanKhau.Columns[8].HeaderText = "Quê quán";
                dgvNhanKhau.Columns[9].HeaderText = "Dân tộc";
                dgvNhanKhau.Columns[10].HeaderText = "Nghề nghiệp";
                dgvNhanKhau.Columns[11].HeaderText = "Quốc tịch";
                //dgvNhanKhau.Columns[12].HeaderText = "Chứng tử";
                dgvNhanKhau.Columns[13].HeaderText = "Tôn giáo";
                dgvNhanKhau.Columns[14].HeaderText = "Trình độ";
                //dgvNhanKhau.Columns[15].HeaderText = "Sổ hộ khẩu";
                dgvNhanKhau.Columns[16].HeaderText = "Quan hệ";
                dgvNhanKhau.Columns[0].Visible = false;
                //dgvNhanKhau.Columns[1].Visible = false;
                dgvNhanKhau.Columns[2].Visible = false;
                dgvNhanKhau.Columns[3].Visible = false;
                //dgvNhanKhau.Columns[4].Visible = false;
                //dgvNhanKhau.Columns[5].Visible = false;
                dgvNhanKhau.Columns[6].Visible = false;
                //dgvNhanKhau.Columns[7].Visible = false;
                //dgvNhanKhau.Columns[8].Visible = false;
                dgvNhanKhau.Columns[9].Visible = false;
                dgvNhanKhau.Columns[10].Visible = false;
                dgvNhanKhau.Columns[11].Visible = false;
                dgvNhanKhau.Columns[12].Visible = false;
                dgvNhanKhau.Columns[13].Visible = false;
                dgvNhanKhau.Columns[14].Visible = false;
                dgvNhanKhau.Columns[15].Visible = false;
                //dgvNhanKhau.Columns[16].Visible = false;
                dgvNhanKhau.Columns[17].Visible = false;
                dgvNhanKhau.Columns[18].Visible = false;
                dgvNhanKhau.Columns[19].Visible = false;
                //dgvNhanKhau.Columns[20].Visible = false;

                DataGridViewCellStyle style = new DataGridViewCellStyle();
                style.ForeColor = Color.AliceBlue;
                style.BackColor = Color.Red;
                for (int i = dgvNhanKhau.RowCount - 1; i >= 0; i--)
                {
                    if ((byte)dgvNhanKhau.Rows[i].Cells[21].Value != 0)
                    {
                        //MessageBox.Show("geg");
                        dgvNhanKhau.Rows[i].DefaultCellStyle = style;
                    }
                    //if ((bool)dgvNguoiDung.Rows[i].Cells[5].Value==true)
                    //{
                    //  dgvNguoiDung.Rows[i].DefaultCellStyle = style;
                    //}

                }
            }
        }

        private void dgvNhanKhau_SelectionChanged(object sender, EventArgs e)
        {
            DataGridViewCell cell = null;

            foreach (DataGridViewCell select in dgvNhanKhau.SelectedCells)
            {
                cell = select;
            }
            if (cell != null)
            {
                DataGridViewRow row = cell.OwningRow;
                _MaNK = (int)row.Cells[0].Value;
                txtHoTen.Text = (string)row.Cells[1].Value;
                txtCMND.Text = (string)row.Cells[4].Value;
                dateNgaySinh.Value = (DateTime)row.Cells[5].Value;

                if ((bool)row.Cells[7].Value == true)
                    sbtGioiTinh.Value = true;
                else
                    sbtGioiTinh.Value = true;
                txtQueQuan.Text = (string)row.Cells[8].Value;
                txtNgheNghiep.Text = (string)row.Cells[10].Value;
                cmbQuocTich.SelectedValue = (byte)row.Cells[11].Value;
                cmbTonGiao.SelectedValue = (byte)row.Cells[13].Value;
                cmbTrinhDo.SelectedValue = (byte)row.Cells[14].Value;
                cmbNoiSinh.SelectedValue = (int)row.Cells[6].Value;
                cmbQuanHe.SelectedValue = (byte)row.Cells[16].Value;
                cmbDanToc.SelectedValue = (byte)row.Cells[9].Value;
                if ((byte)row.Cells[16].Value == 1)
                {
                    cmbQuanHe.Enabled = false;
                }
                else
                    cmbQuanHe.Enabled = true;
                if ((byte)row.Cells[21].Value != 0)
                {
                    btnXoaNK.Enabled = false;
                    btnXoaSHK.Enabled = false;
                }
                else
                {
                    btnXoaNK.Enabled = true;
                    btnXoaSHK.Enabled = true;
                }
            }
        }

        private void btnXoaSHK_Click(object sender, EventArgs e)
        {
            frmLyDo fmld = new frmLyDo();
            fmld.ShowDialog();
            if (fmld.IsDisposed == false && fmld._success != 0)
            {
                SoHoKhauBLL.UpdateNgayXoa(_MaNK, DateTime.Now);
                NhanKhauBLL.UpdateNgayXoaByMaSHK(_MaSHK, DateTime.Now, fmld._success);
                //MessageBox.Show("ddddd");
            }
        }

        private void txtSoSHK_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar) || txtSoSHK.Text.Length > 7 && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
            if (e.KeyChar == 13)
                btnTim_Click(sender, e);
        }
    }
}
